package com.epoint.clubmanagement.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.epoint.clubmanagement.entity.User;

import javax.validation.Valid;
import java.util.List;


/**
 * 用户表的service接口
 *
 * @author SQN
 */
public interface IUserService extends IService<User> {
    /**
     * 根据用户名查询用户对象
     *
     * @param user
     * @return
     */
    public User queryUserByUsername(User user);

    /**
     * 分页查询用户数据
     *
     * @param pageNum  第几页
     * @param pageSize 每页多少条数据
     * @param param    查询参数-用户名称
     * @return
     */
    public IPage<User> selectUserPage(int pageNum, int pageSize, String param);

    /**
     * 新增一条用户信息
     *
     * @param user
     * @return
     */
    public int addUser(@Valid User user);

    /**
     * 修改一条用户信息
     *
     * @param user
     * @return
     */
    public int editUser(@Valid User user);

    /**
     * 根据主键id查询一个用户对象
     *
     * @param id
     * @return
     */
    public User queryUserById(Integer id);

    /**
     * 根据主键id删除一个用户对象
     *
     * @param id
     * @return
     */
    public int delUserById(Integer id);

    /**
     * 查询所有用户
     *
     * @return
     */
    public List<User> queryUserList();
}
